package cn.com.anypay.manager.service.auth.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 认证请求模型
 * 封装认证所需的基本信息
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AuthRequest {

    /**
     * 认证类型
     * password - 密码认证
     * sms - 短信验证码认证
     * email - 邮箱验证码认证
     */
    private String authType;

    /**
     * 标识符
     * 根据认证类型不同，可能是：
     * - 用户名/邮箱/手机号（密码认证）
     * - 手机号（短信认证）
     * - 邮箱（邮箱认证）
     */
    private String identifier;

    /**
     * 凭证
     * 根据认证类型不同，可能是：
     * - 密码（密码认证）
     * - 验证码（短信/邮箱认证）
     */
    private String credential;
}